home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / Adobe Air 1.5 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / binding / BindingManager.as < prev    next >
Encoding:
Text File  |  2008-10-29  |  2.8 KB  |  92 lines

  1. package mx.binding
  2. {
  3.    import mx.core.mx_internal;
  4.    
  5.    use namespace mx_internal;
  6.    
  7.    public class BindingManager
  8.    {
  9.       mx_internal static const VERSION:String = "3.0.0.0";
  10.       
  11.       internal static var debugDestinationStrings:Object = {};
  12.       
  13.       public function BindingManager()
  14.       {
  15.          super();
  16.       }
  17.       
  18.       public static function executeBindings(param1:Object, param2:String, param3:Object) : void
  19.       {
  20.          var _loc4_:String = null;
  21.          if(!param2 || param2 == "")
  22.          {
  23.             return;
  24.          }
  25.          if(param1 && (param1 is IBindingClient || param1.hasOwnProperty("_bindingsByDestination")) && Boolean(param1._bindingsByDestination) && Boolean(param1._bindingsBeginWithWord[getFirstWord(param2)]))
  26.          {
  27.             for(_loc4_ in param1._bindingsByDestination)
  28.             {
  29.                if(_loc4_.charAt(0) == param2.charAt(0))
  30.                {
  31.                   if(_loc4_.indexOf(param2 + ".") == 0 || _loc4_.indexOf(param2 + "[") == 0 || _loc4_ == param2)
  32.                   {
  33.                      param1._bindingsByDestination[_loc4_].execute(param3);
  34.                   }
  35.                }
  36.             }
  37.          }
  38.       }
  39.       
  40.       public static function addBinding(param1:Object, param2:String, param3:Binding) : void
  41.       {
  42.          if(!param1._bindingsByDestination)
  43.          {
  44.             param1._bindingsByDestination = {};
  45.             param1._bindingsBeginWithWord = {};
  46.          }
  47.          param1._bindingsByDestination[param2] = param3;
  48.          param1._bindingsBeginWithWord[getFirstWord(param2)] = true;
  49.       }
  50.       
  51.       public static function debugBinding(param1:String) : void
  52.       {
  53.          debugDestinationStrings[param1] = true;
  54.       }
  55.       
  56.       private static function getFirstWord(param1:String) : String
  57.       {
  58.          var _loc2_:int = int(param1.indexOf("."));
  59.          var _loc3_:int = int(param1.indexOf("["));
  60.          if(_loc2_ == _loc3_)
  61.          {
  62.             return param1;
  63.          }
  64.          var _loc4_:int = Math.min(_loc2_,_loc3_);
  65.          if(_loc4_ == -1)
  66.          {
  67.             _loc4_ = Math.max(_loc2_,_loc3_);
  68.          }
  69.          return param1.substr(0,_loc4_);
  70.       }
  71.       
  72.       public static function setEnabled(param1:Object, param2:Boolean) : void
  73.       {
  74.          var _loc3_:Array = null;
  75.          var _loc4_:uint = 0;
  76.          var _loc5_:Binding = null;
  77.          if(param1 is IBindingClient && Boolean(param1._bindings))
  78.          {
  79.             _loc3_ = param1._bindings as Array;
  80.             _loc4_ = 0;
  81.             while(_loc4_ < _loc3_.length)
  82.             {
  83.                _loc5_ = _loc3_[_loc4_];
  84.                _loc5_.mx_internal::isEnabled = param2;
  85.                _loc4_++;
  86.             }
  87.          }
  88.       }
  89.    }
  90. }
  91.  
  92.